package com.zrrd.thread._07_wait_notify;

/**
 * @author WanJl
 * @version 1.0
 * @title Foodie
 * @description
 * @create 2023/10/29 15:32
 */
public class Foodie extends Thread{
    @Override
    public void run() {
        while (true){
            synchronized (Desk.lock){
                //吃没了
                if (Desk.count==0){
                    //更新桌子上包子状态为false
                    Desk.flag=false;
                    //唤醒生产者生产包子
                    Desk.lock.notifyAll();
                }
                if (Desk.flag==true){//桌子上的状态决定到底有没有包子
                    //消费
                    int number = --Desk.count;
                    System.out.println("消费者开始吃包子,当前还剩包子："+number);
                    //更新桌子上包子状态
                }else {
                    try {
                        //如果没有包子,消费者就进入等待状态
                        Desk.lock.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}
